"""
@version:python3
@author:大橘为重
@file:17-QKeySequenceEdit-功能测试.py
@time:2022/3/14 16:32
"""
# 0、导入需要的包和模块
from PyQt5.Qt import *
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QKeySequenceEdit-功能测试")
        self.resize(500, 500)
        self.setup_ui()
    def setup_ui(self): # 添加子控件以及子控件的配置操作
        kse = QKeySequenceEdit(self)
        # ks = QKeySequence("ctrl+c")
        # ks = QKeySequence(QKeySequence.Copy)
        ks = QKeySequence(Qt.CTRL + Qt.Key_C ,Qt.CTRL + Qt.Key_A)
        kse.setKeySequence(ks)

        btn = QPushButton(self)
        btn.move(100,100)
        btn.setText("按钮测试")
        btn.clicked.connect(lambda :print(kse.keySequence().toString(),kse.keySequence().count()))

        kse.editingFinished.connect(lambda :print("结束编辑")) # 一般是1秒钟之后触发信号
        kse.keySequenceChanged.connect(lambda key_val:print("键位序列发生改变",key_val.toString())) # 打印两次是因为清空内容也算一次


# 1、创建一个应用程序对象
app = QApplication(sys.argv)

# 2、控件操作
# 创建控件、设置控件、事件和信号的处理
# 2.1 创建控件
window = Window()
# 2.2 设置控件


# 2.3 展示控件
window.show()

# 3、应用程序的执行，进入到消息循环
sys.exit(app.exec_())